<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 封装函数的意思 就是把需要频繁用到的方法封装起来 以便复用
        // 封装一个函数 求两个和数中的最小值

        // 1 创建函数的名字
        // 2 参考参数 (参考调用时的场景)
        // 3 写函数的逻辑
        // 4 考虑返回值

        function min(a, b) {
            if (a < b) {
                return a;
            } else {
                return b;
            }
        }
        var res1 = min(3, 5);

        // 封装一个 pow(x,n) 求 x 的 n 次方
        function pow1(a, b) {
            var temp = 1;
            // 使用for循环 让 a 乘 n 次
            for (var i = 1; i <= n; i++) {
                temp = temp + 1;

            }
        }

        // 写一个函数 isZhi(n)，返回true或者false  (判断 n 是否是 质数)

        function isZhi(n) {
            var count = 0;
            for (var i = 1; i <= n; i++) {
                if (n % i == 0) {
                    count++;
                }
            }
            // if (count == 2) {
            //   return true;
            // } else {
            //   return false;
            // }
            return count == 2;
        }

        var num = prompt("请输入一个数字");
        console.log(isZhi(num));

        // 把 冒泡排序的 代码 封装一下 ,以便 复用
        function bubbleSort(arr) {
            for (var j = 1; j <= arr.length - 1; j++) {
                // 核心排序逻辑
                for (var i = 0; i < arr.length - 1; i++) {
                    if (arr[i] > arr[i + 1]) {
                        // 交换位置
                        var temp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = temp;
                    }
                }
            }
            return arr;
        }

        var res3 = bubbleSort([12, 31, 9, 5]);
    </script>
</body>

</html>